#include <stdio.h>
#include <stdlib.h>

#ifndef SYMBOLS_TABLE_H
	#include "symbols_table.h"
#endif

#ifndef AST_H
	#define AST_H
#endif

#define LIST 0
#define DECL 1
#define FUNC 2


typedef struct t_node {
        int type;
	TABLE_ENTRY * symbol;
        struct t_node * son[4];
} AST_NODE;

AST_NODE * create_node (int type, TABLE_ENTRY * symbol, AST_NODE * son0, AST_NODE * son1, AST_NODE * son2, AST_NODE * son3 );

void print_node( AST_NODE * node);

void print_ast( AST_NODE * tree);

